﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CamadasDados.Auditoria;

namespace CamadasDados.Categoria
{
    public class csCategoria
    {
        DB_WORCAMENTO dbWorcamento = new DB_WORCAMENTO();

        Auditoria.csAuditoria metAudit = new csAuditoria();

        public void FecharConexao(object banco)
        {
            ((DB_WORCAMENTO)banco).Connection.Close();
        }

        public void InicializarConexao(object banco)
        {
            ((DB_WORCAMENTO)banco).Connection.Open();
        }

        public List<TB_CATEGORIA> ListaCategoria()
        {
            var listCategoria = new List<TB_CATEGORIA>();
            try
            {
                InicializarConexao(dbWorcamento);
                listCategoria = dbWorcamento.TB_CATEGORIA.Where(q => q.NR_STATUS == 1).OrderBy(q => q.NO_CATEGORIA).ToList();
            }
            catch (Exception e)
            {
                metAudit.IncluirLogErro(e.Message, "csCategoria.cs", "ListaCategoria");
            }
            finally
            {
                FecharConexao(dbWorcamento);
            }

            return listCategoria;
        }

        public TB_CATEGORIA PegarCategoria(int intCodCategoria)
        {
            var objCategoria = new TB_CATEGORIA();
            try
            {
                InicializarConexao(dbWorcamento);
                objCategoria = dbWorcamento.TB_CATEGORIA.Where(q => q.CO_CATEGORIA == intCodCategoria).FirstOrDefault();
            }
            catch (Exception e)
            {
                metAudit.IncluirLogErro(e.Message, "csCategoria.cs", "PegarCategoria");
            }
            finally
            {
                FecharConexao(dbWorcamento);
            }

            return objCategoria;
        }
    }
}
